float4x4 world;
float4x4 view;
float4x4 projection;

struct VertexShaderInput
{
    float4 position : POSITION0;
    float4 attribute : COLOR0;
};

struct VertexShaderOutput
{
    float4 position : POSITION0;
    float4 attribute : COLOR0;
};

VertexShaderOutput VertexShaderFunction(VertexShaderInput input)
{
    VertexShaderOutput output;
	float4 worldPosition, viewPosition;
	
    worldPosition = mul(input.position, world);
    viewPosition = mul(worldPosition, view);
    
    output.position = mul(viewPosition, projection);
	output.attribute = input.attribute;
	
    return output;
}

float4 PixelShaderFunction(VertexShaderOutput input) : COLOR0
{
    return input.attribute;
}

technique CreateParticles
{
    pass Pass1
    {
        // TODO: set renderstates here.

        VertexShader = compile vs_2_0 VertexShaderFunction();
        PixelShader = compile ps_2_0 PixelShaderFunction();
    }
}
